$ # + K abort-command
Default binding: ^G
This command is used interactively to abort out of any command that is waiting for input.
It can be used within a macro to sound a beep but, unless it is used with the !FORCE directive, it causes the macro to abort.
This command is unaffected by numeric arguments.

$ # + K add-global-mode
Default binding: M-M
Syntax:
add-global-mode    mode
or:
add-global-mode    color
This command causes the specified mode to be inherited by future (not yet created) buffers (These global modes can later be revoked by the delete-global-mode command). It can also be used to specify the foreground or background color for future windows.
This command does not modify the modes/colors of the current buffer/window. To do so, use the add-mode command.
This command is unaffected by numeric arguments.

$ # + K add-mode
Default binding: ^XM
Syntax:
add-mode  mode
or:
add-mode  color
This command adds the specified mode to the current buffer. It can also be used to specify the foreground or background color for the current window.
To set the default modes/colors for all future buffers/windows, use the add-global-mode command.
This command is unaffected by numeric arguments.

$ # + K append-file
Default binding: ^X^A
Syntax:
append-file  file name
Similar to write-file, this command writes out the current buffer to the named file, but rather than replacing its contents, it appends the buffer to the end of the existing text in the file. This does not change the filename of the current buffer. It is especially handy for building log files.
This command is unaffected by numeric arguments.

$ # + K apropos
Default binding: M-A
Syntax:
apropos  string
This command builds a list of all the MicroEMACS commands and macros whose name contains the specified string. The list is stored in a buffer named "Binding list" and is displayed either in a popup buffer or in a regular window, depending on the value of the $popflag variable.
Commands are listed first, followed by macros (macro names are enclosed in square brackets "[" and "]"). For each command or macro listed, the associated bindings are also listed.
This command is unaffected by numeric arguments.

$ # + K backward-character
Default bindings: ^B and FNB (left arrow)
Syntax:
n  backward-character
This command moves the point backward by n characters. If n is a negative number, the point is moved forward. If no numeric arguments is specified, the point is moved backward by one character.
Note:	end of lines count as one character.
If the move would take the point beyond the boundaries of the buffer, this command fails and the point is left at said boundary.

$ # + K begin-macro
Default binding: ^X(
This command tells MicroEMACS to begin recording all keystrokes, commands and mouse clicks into the keyboard macro. MicroEMACS stops recording when the end-macro (^X)) command is given.
The recording can be replayed by execute-macro (^XE).
This command is unaffected by numeric arguments.
Note:	mouse clicks are recorded with the screen (row/column) position they occurred at.

$ # + K beginning-of-file
Default binding: M-<
This command causes the point to move to the beginning of the buffer.
It is unaffected by numeric arguments.

$ # + K beginning-of-line
Default binding: ^A
This command causes the point to move to the beginning of the current line.
It is unaffected by numeric arguments.

$ # + K bind-to-key
Default binding: M-K
Syntax:
bind-to-key  command name  keystroke
This command associates a command with a keystroke, thus creating a binding. A keystroke can be bound only to one command or macro at a time, so when you rebind it, the previous binding is forgotten. On the other hand, a command can have more than one keystroke bound to it.
The keystroke is specified using the keystroke syntax or the mouse syntax.
This command cannot be used to specify the key binding for a macro. That is performed by the macro-to-key command.
This command is unaffected by numeric arguments.

$ # + K bind-to-menu
No default binding
Syntax:
bind-to-menu  command name  menu name
This command is available only under Microsoft Windows. It creates a menu item associated with the specified command. The menu name is specified using the menu name syntax.
If the menu name designates a menu item that already exists, the command fails.
If the menu name specifies menus that do not exist yet, they are created as part of the creation of the menu item.
This command cannot be used to bind a macro to a menu. That is performed by the macro-to-menu command.
This command is unaffected by numeric arguments.

$ # + K buffer-position
Default binding: ^X=
This command displays, on the message line, the position of the point within the current window. It lists:
	The line (starting at 1), followed by the total number of lines in the buffer
	The column (starting at 0), followed by the length of the current line
	The character offset (starting at 0, newlines counting as a single character) from the beginning of the buffer, followed by the total number of character in the buffer
	The percentage of text before the point
	The hexadecimal value of the current character
This command is unaffected by numeric arguments.

$ # + K cascade-screens
No default binding
This command is available only under Microsoft Windows. It causes all non-iconic screens to be rearranged in a cascading scheme. If the current screen is maximized (see maximize-screen) at the time this command is invoked, it is restored to its non-maximized size first.
This command is unaffected by numeric arguments.

$ # + K case-region-lower
Default binding: ^X^L
This command causes all the upper case characters in the region to be changed into their lower case counterpart.
The command fails if the mark is not defined in the current window.
This command is unaffected by numeric arguments.

$ # + K case-region-upper
Default binding: ^X^U
This command causes all the lower case characters in the region to be changed into their upper case counterpart.
The command fails if the mark is not defined in the current window.
This command is unaffected by numeric arguments.

$ # + K case-word-capitalize
Default binding: M-C
Syntax:
n  case-word-capitalize
This command capitalizes n words after the point: it causes the first character of each word to be forced to upper case and the other characters to be forced to lower case. After the command has executed, the point is located just after the last processed word.
Note that since it starts by capitalizing the first letter after the point, this command would normally be issued with the cursor positioned in front of the first letter of the word you wish to capitalize. If you issue it in the middle of a word, you can end up with some strAnge looking text.
The command fails if the numeric argument is negative or if it goes beyond the end of the buffer. If n is null, nothing happens. If the numeric argument is not specified, only one word is affected.

$ # + K case-word-lower
Default binding: M-L
Syntax:
n  case-word-lower
This command forces to lower case n words after the point. After the command has executed, the point is located just after the last processed word.
Note that since it starts by processing the first letter after the point, this command would normally be issued with the cursor positioned in front of the first letter of the word you wish to make lower case.
The command fails if the numeric argument is negative or if it goes beyond the end of the buffer. If n is null, nothing happens. If the numeric argument is not specified, only one word is affected.

$ # + K case-word-upper
Default binding: M-U
Syntax:
n  case-word-upper
This command forces to upper case n words after the point. After the command has executed, the point is located just after the last processed word.
Note that since it starts by processing the first letter after the point, this command would normally be issued with the cursor positioned in front of the first letter of the word you wish to make upper case.
The command fails if the numeric argument is negative or if it goes beyond the end of the buffer. If n is null, nothing happens. If the numeric argument is not specified, only one word is affected.

$ # + K change-file-name
Default binding: ^XN
Syntax:
change-file-name  file name
This command lets you change the file name associated with the current buffer. It does not change the buffer name. The disk file is unaffected.
This command is unaffected by numeric arguments.

$ # + K change-screen-column
No default binding.
Syntax:
n  change-screen-column
This command modifies the offset of the current screen's left column on the desktop. The numeric argument n specifies that offset in number of characters. If n is not specified, it is taken as zero.
Using this command is equivalent to setting the $orgcol variable.
If n is negative or if it is positive but would cause the right border of the screen to be moved off the desktop, the command fails.
Under Microsoft Windows, this command always resets $orgcol to zero and it has no other effect.

$ # + K change-screen-row
No default binding.
Syntax:
n  change-screen-row
This command modifies the offset of the current screen's top row on the desktop. The numeric argument n specifies that offset in number of characters. If n is not specified, it is taken as zero.
Using this command is equivalent to setting the $orgrow variable.
If n is negative or if it is positive but would cause the bottom border of the screen to be moved off the desktop, the command fails.
Under Microsoft Windows, this command  always resets $orgrow to zero and it has no other effect.

$ # + K change-screen-size
No default binding.
Syntax:
n  change-screen-size
This command modifies the height of the current screen, causing it to be n lines. If the numeric argument n is not specified, it is taken to be the height of the whole desktop.
As the height of the screen changes, the bottom window is resized to fit. If the height is decreased, windows that do not fit any more are eliminated, starting from the bottom one.
Using this command is equivalent to setting the $pagelen variable.
If n is lower than 3 or if it is greater than the height of the desktop, the command fails.
Under Microsoft Windows:
	The height of a screen does not include the message line.
	If n is not specified, the command fails.

$ # + K change-screen-width
No default binding.
Syntax:
n  change-screen-width
This command modifies the width of the current screen, causing it to be n characters. If the numeric argument n is not specified, it is taken to be the width of the whole desktop.
Using this command is equivalent to setting the $curwidth variable.
If n is lower than 10 or if it is greater than the width of the desktop, the command fails.
Under Microsoft Windows, if n is not specified, the command fails.

$ # + K clear-and-redraw
Default binding: ^L
Syntax:
clear-and-redraw
or:
n  clear-and-redraw
This command performs two different functions, depending on the way it is invoked:
 wether it is invoked with a  or not:
	If the command is invoked without a numeric argument, it causes all screens to be completely repainted.
	If the command is invoked with a numeric argument, it centers the line containing the point in the current window. The value of the numeric argument is irrelevant.

$ # + K clear-message-line
No default binding.
This command erases the text (if any) displayed on the message line.
This command is unaffected by numeric arguments.

$ # + K clip-region
Default binding: FN^C (Control+Insert)
This command copies the contents of the current region into the clipboard, overwriting any previous clipboard data.
This command is unaffected by numeric arguments.

$ # + K copy-region
Default binding: M-W
This command copies the contents of the current region into the kill buffer.
This command is unaffected by numeric arguments.

$ # + K count-words
Default binding: M-^C
This command displays, on the message line, the number of words in the current region, along with the number of characters, lines and the average number of characters per word.
This command is unaffected by numeric arguments.

$ # + K ctlx-prefix
Default binding: ^X
This command is rarely used for execution in the macro language. Its main purpose is to be mentioned in a bind-to-key command, to redefine the ^X prefix. For instance, the line:
bind-to-key  ctlx-prefix  FN1
redefines function key F1 as the prefix to be used in all keystrokes that begin by "^X-". After this, keystrokes such as ^X^C would be actually typed by pressing and releasing the F1 key and then pressing the Control key and the C key together.

$ # + K cut-region
Default binding: S-FND (Shift+Delete)
This command deletes the contents of the current region after copying them into the clipboard, overwriting any previous clipboard data.
This command is unaffected by numeric arguments.

$ # + K cycle-ring
Default binding: ^XY
Syntax:
n  cycle-ring
This command causes the kill ring to rotate by n positions. For instance, if the contents of the kill ring were K1, K2 ... K14, K15 and K16, the kill buffer would be K16. After a command:
2  cycle-ring
the kill buffer would be K14 and the kill ring would now be ordered: K15, K16, K1, K2 ... K14.
If no numeric arguments is specified, this command does not have any effect.

$ # + K cycle-screens
Default binding: A-C
This command takes the rearmost screen (actually, the last screen in the screen list) and moves it to the front.
This command is unaffected by numeric arguments.

$ # + K delete-blank-lines
Default binding: ^X^O
If the point is on an empty line, this command deletes all the empty lines around (above and below) the current line. If the point is on a non empty line then this command deletes all of the empty lines immediately following that line.
This command is unaffected by numeric arguments.

$ # + K delete-buffer
Default binding: ^XK
Syntax:
delete-buffer  buffer name
This command attempts to discard the named buffer, reclaiming the memory it occupied. It will not allow the destruction of a buffer which is currently visible through any window on any screen.
This command is unaffected by numeric arguments.

$ # + K delete-global-mode
Default binding: M-^M
Syntax:
delete-global-mode  mode
or:
delete-global-mode  color
This command causes the specified mode to be removed from the ones inherited by future (not yet created) buffers (such global modes would have been set by the add-global-mode command). It can also be used to specify the foreground or background color for future windows.
This command does not modify the modes/colors of the current buffer/window. To do so, use the delete-mode command.
This command is unaffected by numeric arguments.

$ # + K delete-kill-ring
Default binding: M-^Y
This command empties the kill ring (this includes the current contents of the kill buffer) and reclaims the memory space it occupied.
This command is unaffected by numeric arguments.

$ # + K delete-mode
Default binding: ^X^M
Syntax:
delete-mode  mode
or:
delete-mode  color
This command removes the specified mode from the current buffer (these modes would have been set by the add-mode or add-global-mode commands). It can also be used to specify the foreground or background color for the current window.
To set the default modes/colors for all future buffers/windows, use the delete-global-mode command.
This command is unaffected by numeric arguments.

$ # + K delete-next-character
Default binding: ^D
Syntax:
n  delete-next-character
or:
delete-next-character
If n is positive, this command deletes, and stores into the kill buffer, n characters after the point. If n is negative, the -n characters preceding the point are deleted and stored into the kill buffer.
If no numeric argument is specified, the character following the point is deleted, but it is not stored into the kill buffer.
If an attempt to delete past the end or beginning of the buffer is made, the command fails.
Note that end of lines are counted as one character each for the purpose of deletion.

$ # + K delete-next-word
Default binding: M-D
Syntax:
n  delete-next-word
This command deletes the text from the point to the beginning of the next word, saving it into the kill buffer.
If a positive numeric argument is present, it specifies the number of words to be deleted. A null numeric argument is treaded as a 1. A negative numeric argument causes the command to fail.

$ # + K delete-other-windows
Default binding: ^X1
This command deletes all other windows but the active one from the current screen.  It does not discard or destroy any text, just stops looking at those buffers.
This command is unaffected by numeric arguments.

$ # + K delete-previous-character
Default binding: ^H (Backspace key) and FND (Delete key)
Syntax:
n  delete-previous-character
or:
delete-previous-character
If n is positive, this command deletes, and stores into the kill buffer, the n characters preceding the point. If n is negative, the -n characters following the point are deleted and stored into the kill buffer.
If no numeric argument is specified, the character preceding the point is deleted, but it is not stored into the kill buffer.
If an attempt to delete past the end or beginning of the buffer is made, the command fails.
Note that end of lines are counted as one character each for the purpose of deletion.

$ # + K delete-previous-word
Default binding: M-^H
Syntax:
n  delete-previous-word
This command deletes the text from the point to the beginning of the previous word, saving it into the kill buffer.
If a positive numeric argument is present, it specifies the number of words to be deleted. A negative or null numeric argument causes the command to fail.

$ # + K delete-screen
Default binding: A-D
Syntax:
delete-screen  screen name
This command deletes the named screen, providing it is not the active one. Note that buffers being displayed on that screen are not discarded.
This command is unaffected by numeric arguments.

$ # + K delete-window
Default binding: ^X0
This command removes the active window from the screen, giving its space to the window above (or, if there is none, the window below). It does not discard or destroy any text, just stops looking at that buffer.
If the window is alone on the screen, it cannot be removed and the command fails.
This command is unaffected by numeric arguments.

$ # + K describe-bindings
No default binding
This command creates a list of all commands and macros, each with all the keys which are currently bound to it. Commands are listed first, followed by the macros (macro names are surrounded by square brackets "[" and "]").
This command is unaffected by numeric arguments.
Note:	The list is actually built in a special buffer named "Binding list". It is displayed as a popup buffer or in a normal window, depending on the value of the $popflag variable.

$ # + K describe-functions
No default binding.
This command creates a list of all the functions available in the MicroEMACS macro language..
This command is unaffected by numeric arguments.
Note:	The list is actually built in a special buffer named "Function list". It is displayed as a popup buffer or in a normal window, depending on the value of the $popflag variable.

$ # + K describe-key
Default binding: ^X?
Syntax:
describe-key  keystroke
This command displays the command or macro bound to the specified keystroke on the message line (macro names are surrounded by square brackets "[" and "]"). If the keystroke has no binding, the text "Not Bound" is displayed.
When this command is used within a macro, the keystroke is specified using the MicroEMACS keystroke syntax  or the mouse syntax(a ^G, for instance, is typed as a hat character "^" followed by the letter "G").
When this command is used interactively mode, it displays a prompt: ": describe-binding" and the keystroke is expected to by typed as if the actual bound command or macro was being invoked (a ^G, for instance, is typed by holding down the Control key and pressing the G key).
This command is unaffected by numeric arguments.

$ # + K describe-variables
Default binding: 
No default binding.
This command creates a list of all the variables and their value. Environmental variables are listed first, followed by user variables.
This command is unaffected by numeric arguments.
Note:	The list is actually built in a special buffer named "Variable list". It is displayed as a popup buffer or in a normal window, depending on the value of the $popflag variable.

$ # + K detab-region
Default binding: ^X^D
Syntax:
n  detab-region
or:
detab-region
This command causes tab characters to be changed into the appropriate number of spaces in the affected lines (the spacing between tab stops is considered to be the value of the $hardtab variable).
If a numeric arguments is specified, n lines, starting from the one containing the point, are affected. If n is null, the command modifies no line.
If no numeric argument is specified, all the lines belonging to the current region are affected. If no region is defined, the command modifies no line.
After this command has executed, the point is left at the beginning of the last affected line. The buffer is marked as modified, even if no modification actually took place.

$ # + K display
Default binding: ^XG
Syntax:
display  variable
This command displays the value of the specified variable on the message line. If variable is not an existing environmental variable or user variable, the command fails.
This command is unaffected by numeric arguments.

$ # + K end-macro
Default binding: ^X)
This command stops the recording of keystrokes, commands or mouse clicks into the keyboard macro.
The command fails if MicroEMACS is not currently in recording mode.
This command is unaffected by numeric arguments.
See also: begin-macro and execute-macro.

$ # + K end-of-file
Default bindings: M-> and FN> (End key)
This command places the point at the end of the buffer.
This command is unaffected by numeric arguments.

$ # + K end-of-line
Default binding: ^E
This command places the point at the end of the current line.
This command is unaffected by numeric arguments.

$ # + K end-of-word
No default binding.
Syntax:
n  end-of-word
This command moves the point to the end of the nth following word. If the point was located within a word before invoking the command, that word counts as the first one (thus, if n is 1, the point moves to the first character following the current word). If an attempt is made to move past the buffer's end, the command fails but the point is still moved to the end of the buffer.
If no numeric argument is specified, it is equivalent to n = 1.
If n is null, the command has no effect.
If n is negative, it causes the command to behave like previous-word (invoked with the numeric argument -n).

$ # + K entab-region
Default binding: ^X^E
Syntax:
n  entab-region
or:
entab-region
This command causes space characters to be compressed into tab characters wherever possible in the affected lines (the spacing between tab stops is considered to be the value of the $hardtab variable).
If a numeric arguments is specified, n lines, starting from the one containing the point, are affected. If n is null, the command modifies no line.
If no numeric argument is specified, all the lines belonging to the current region are affected. If no region is defined, the command modifies no line.
After this command has executed, the point is left at the beginning of the last affected line. The buffer is marked as modified, even if no modification actually took place.

$ # + K exchange-point-and-mark
Default binding: ^X^X
Syntax:
n  exchange-point-and-mark
This command swaps the point and the mark number n.
If no numeric argument is specified, it is equivalent to n = 0.
If markn does not exist, the command fails.

$ # + K execute-buffer
No default binding.
Syntax:
n  execute-buffer  buffer
This command executes the macro language statements from the specified buffer.
The command fails if the buffer does not exist or if an executed macro statement (within the buffer) fails.
If a positive numeric argument is specified, the buffer is executed n times. If n is negative or null, the command has no effect.

$ # + K execute-command-line
Default binding: M-^X
Syntax:
execute-command-line  command line
This command executes the specified command line exactly as if it were part of a macro. This is mostly used interactively to invoke a command but prevent it from fetching its own arguments interactively.
This command is unaffected by numeric arguments (note that the command line itself may have its own numeric argument).

$ # + K execute-file or source
Default binding: M-^S
Syntax:
n  execute-file  file
or:
n  source  file
This command executes the macro language statements from the specified file, after reading it into an invisible buffer.
The file does not need to be a fully qualified path name: if it is a simple filename, it is searched along the path.
The command fails if the file cannot be found or if an executed macro statement (within the file) fails.
If a positive numeric argument is specified, the file is executed n times. If n is negative or null, the command has no effect.

$ # + K execute-macro
Default binding: ^XE
Syntax:
n  execute-macro
This command replays the last recorded keyboard macro.
If a negative or null numeric argument is specified, the command does nothing. If a positive numeric argument is given, the recorded keyboard macro is played n times. If no numeric argument is given, the recorded macro is played once.
The command fails if MicroEMACS is currently in recording mode.
See also: begin-macro and end-macro.

$ # + K execute-macro-n
Default binding (n from 1 to 9): S-FNn, for n = 10: S-FN0
No default binding for n greater than 10.
Syntax:
arg  execute-macro-n
MicroEMACS has 40 such commands (i.e. n can be a number from 1 to 40). Each causes the execution of the corresponding numbered macro (created by the store-macro command).
If a strictly positive numeric argument is specified, the macro is executed repetitively arg times. If arg is negative or null, nothing happens.
See also: execute-procedure

$ # + K execute-named-command
Default binding: M-X
Syntax:
n  execute-named-command  command
In interactive mode, this command causes a colon ":" to appear on the message line. You can then type the name of the command you want to execute and strike Enter. If you type a space or the meta key, MicroEMACS will attempt to complete the name for you. This interactive use provides access to commands that do not have a key binding.
When used within a macro, execute-named-command makes the named command behave as if it had been called interactively, thus causing it to prompt the user for any arguments it needs.
If a numeric argument is specified, it is simply transmitted to the named command.

$ # + K execute-procedure or run
Default binding: M-^E
Syntax:
n  execute-procedure  macro
or:
n  run  macro
These two commands are synonyms. They both cause the execution of the named macro (created by the store-procedure command).
If a strictly positive numeric argument is specified, the macro is executed repetitively n times. If n is negative or null, nothing happens.
See also: execute-macro-n

$ # + K execute-program
Default binding: ^X$
Syntax:
execute-program  program
or:
n  execute-program  program
This command spawns an external program, without an intervening shell.
The program argument is a string. Note that if it contains spaces (as would be necessary to specify command line options), the string should be quoted.
Under MS-Windows:
	This command allows you to launch a Windows application from MicroEMACS. The current working directory where the application executes is set to the directory of the file in the current window (or, if that window is not associated to a filename, to the last visited directory).
	If no numeric argument is specified, MicroEMACS and the launched application run independently. If a numeric argument is specified, MicroEMACS synchronizes with the application.
Note:	Under MS-DOS, you cannot use this command to invoke built-in system commands (like DIR, for instance). Use shell-command instead.

$ # + K exit-emacs
Default binding: ^X^C
Syntax:
n  exit-emacs
This command terminates MicroEMACS.
If no numeric argument is specified and some buffers contain text that has been changed but not yet saved, you will be asked for a confirmation. If a numeric argument is specified, the command terminates MicroEMACS unconditionally.

$ # + K fill-paragraph
Default binding: M-Q
This command reformats the current paragraph, causing all of its text to be filled out to the current fill column (Which is 72 by default and is set with the set-fill-column command or the $fillcol variable).
This command is unaffected by numeric arguments.

$ # + K filter-buffer
Default binding: ^X#
Syntax:
filter-buffer  program
This command spawns the external filter program (for instance: SORT or FIND) and feeds it the contents of the current buffer. The results replace the original text in the buffer.
Under Microsoft Windows, this command creates a DOS box and synchronizes with it.
This command is unaffected by numeric arguments.

$ # + K find-file
Default binding: ^X^F
Syntax:
find-file  file name
If the named file is already loaded somewhere in the editor, this command brings its buffer up in the current window. Otherwise, the file is searched for on disk. If it is found, a new buffer is created and the contents of the file are read into it. If the file does not exist, a new empty buffer is created. In all cases, the buffer is brought up in the current window.
This command is unaffected by numeric arguments.

$ # + K find-screen
Default binding: A-F
Syntax:
find-screen  screen name
This command brings up the named screen. If the screen name does not exist, a new screen is created. On text systems, this screen is displayed on top of the others. On graphic systems, the OS window containing this screen is brought to the foreground.
This command is unaffected by numeric arguments.

$ # + K forward-character
Default binding: ^F and FNF (right arrow)
Syntax:
n  forward-character
This command moves the point forward by n characters. If n is a negative number, the point is moved backward. If no numeric arguments is specified, the point is moved forward by one character.
Note:	end of lines count as one character.
If the move would take the point beyond the boundaries of the buffer, this command fails and the point is left at said boundary.

$ # + K goto-line
Default binding: M-G
Syntax:
n  goto-line
or
goto-line  n
This command moves the point to the first character of line number n in the current buffer.
The command fails if n is lower than 1 or if the buffer is empty. If n is greater than the number of lines in the buffer, the point is simply positioned at the end of the buffer.

$ # + K goto-mark
Default binding: M-^G
Syntax:
n  goto-mark
This command moves the point to the location of the mark number n.
If no numeric arguments is specified, the mark number 0 is used.
If n is greater than 9, it is treated as the remainder of the division of n by 10.

$ # + K goto-matching-fence
Default binding: M-^F
When the point is located on a fence character (curly brace, bracket, or parenthesis), this command will make it jump to the matching fence character.
If the point is not located on a fence character or there is no matching fence, a beep sounds and the command fails.
This command is unaffected by numeric arguments.

$ # + K grow-window
Default binding: ^X^ and ^XZ
Syntax:
n  grow-window
If n is a positive number, this command increases the height of the current window by n lines. The window located immediately below the current window (or, if the current window is at the bottom of the screen, the window located immediately above it) shrinks by n lines. If that would cause the shrinking window to become too small to display any text, the command fails.
If the current screen contains only one window, the command fails.
If n is a negative number, this command acts as if the shrink-window command had been invoked with the corresponding positive number (-n).
If no numeric arguments is specified, the height of the window is increased by one line.
To change the size of the current window by specifying an absolute value, use the resize-window command.

$ # + K handle-tab
Default binding: ^I (Tab key)
Syntax:
n  handle-tab
or:
handle-tab
The behavior of this command depends on the numeric argument (n) that is supplied to it:
	With no argument, it simply inserts a single tab character or enough space characters (depending on its configuration...) to get to the next tab stop.
	With an non-zero argument n, tabs stops are reset to every nth column and handle-tab is reconfigured to insert space characters in sufficient number to get to the next tab stop. This also sets the $softtab variable to n.
	With an argument n of zero, handle-tab is reconfigured so that it inserts true tab characters (its default behavior) and the tab stop interval is reset to its default value of 8.
The distance which a true tab character moves the cursor is reflected by the value of the $hardtab variable. Initially set to 8, this determines how far each tab stop is placed from the previous one.

$ # + K help
Default binding: M-?
This command brings up a window to display the contents of a text file named EMACS.HLP located on the path. This file usually contains a summary of the MicroEMACS commands and default key bindings.
The command fails if the EMACS.HLP file cannot be found.
This command is unaffected by numeric arguments.

$ # + K help-engine
No default binding.
Syntax:
help-engine  file  key
or:
help-engine  file
This command invokes the MS Windows WinHelp application to display the specified help file. If a key is specified, the WinHelp application is instructed to search and display the first topic that matches that key. Otherwise, the first topic displayed is the help file's table of content.
This command is unaffected by numeric arguments.
This command is available only under the MS Windows version of MicroEMACS.

$ # + K hunt-backward
Default binding: A-R
Syntax:
n  hunt-backward
If n is a positive number, this command searches backwards for the nth occurrence of the search string. That search string is the one that was used the last time a search-forward or search-reverse command was issued. The interpretation of the search string is dependant on whether MAGIC mode is set or not in the current buffer.
If a matching text is found in the buffer, the point is moved to the first character of that text. Otherwise, the command fails. The command also fails if there is no search string.
If n is a negative number, this command acts as if the hunt-forward command had been invoked with the corresponding positive number (-n).
If no numeric arguments is specified, or if the numeric argument is null, it is equivalent to n = 1.

$ # + K hunt-forward
Default binding: A-S
Syntax:
n  hunt-forward
If n is a positive number, this command searches forward for the nth occurrence of the search string. That search string is the one that was used the last time a search-forward or search-reverse command was issued. The interpretation of the search string is dependant on whether MAGIC mode is set or not in the current buffer.
If a matching text is found in the buffer, the point is moved to the first character following that text. Otherwise, the command fails. The command also fails if there is no search string.
If n is a negative number, this command acts as if the hunt-backward command had been invoked with the corresponding positive number (-n).
If no numeric arguments is specified, or if the numeric argument is null, it is equivalent to n = 1.

$ # + K i-shell
Default binding: ^XC
This command spawns a command line shell.
Under MS Windows, this command launches a DOS box (a "shell box" under Windows NT). The current working directory where the shell starts is set to the directory of the file in the current window (or, if that window is not associated to a filename, to the last visited directory).
This command is unaffected by numeric arguments.

$ # + K incremental-search
Default binding: ^XS
This command is always interactive. It prompts the user for  a search string but, unlike what happens with the search-forward command, the search happens and the display is updated as each new search character is typed.
While searching towards the end of the buffer, each successive character leaves the point at the end of the entire matched string. Typing a ^S causes the next occurrence of the string to be searched for (where the next occurrence does not overlap the current occurrence). A ^R changes the direction to a backwards search (as performed by a reverse-incremental-search command), pressing the meta key terminates the search and ^G aborts the operation. Pressing the Backspace key (or using ^H) backs up to the previous match of the string or, if the starting point is reached, it deletes the last character from the search string.
The characters composing the search string are always interpreted literally. MAGIC mode has no effect on incremental searches.
If the search fails, a beep sounds and the search stalls until the search string is edited back into something that exists (or until the operation is aborted).
This command is unaffected by numeric arguments.

$ # + K indent-region
Default binding: M-)
Syntax:
n  indent-region
This command inserts n tab characters in front of each line within the current region.
If the numeric argument n is not specified, one tab is inserted per line.
If CMODE is set in the current buffer, lines that begin by a pound sign "#" are not modified (this is to keep C preprocessor directives flush to the left).
Note:	the undent-region command can be used to undo the effect of this command.

$ # + K insert-clip
Default binding: S-FNC (Shift + Insert)
Syntax:
n  insert-clip
This command is only available under MS Windows. It inserts the contents of the Windows clipboard at the point.
If the numeric argument n is specified, n copies of the clipboard's contents are inserted.

$ # + K insert-file
Default binding: ^X^I
Syntax:
insert-file  file
This command inserts the contents of the specified file into the current buffer, at the point. After the insertion, the point remains at its original place if the $yankflag variable is TRUE. Otherwise, the point is moved to the end of the inserted text.
This command is unaffected by numeric arguments.

$ # + K insert-space
Default binding: ^C
Syntax:
n  insert-space
This command inserts n space characters at the point. After the insertion, the point remains at its original place.
If the numeric argument n is not specified, a single space character is inserted.

$ # + K insert-string
No default binding.
Syntax:
n  insert-string  string
This command inserts the specified string at the point. After the insertion, the point is moved to the end of the inserted text.
If the numeric argument n is specified, n copies of the specified string are inserted (if n is negative, it is taken as -n). If n is 0, nothing happens.

$ # + K kill-paragraph
Default binding: M-^W
Syntax:
n  kill-paragraph
This command deletes the current paragraph, leaving a copy of it in the kill buffer.
If a positive numeric argument n is specified, n paragraphs, starting with the current one, are deleted. If n is negative or null, nothing happens.

$ # + K kill-region
Default binding: ^W
This command deletes the characters belonging to the current region, leaving a copy of the deleted text in the kill buffer.
This command is unaffected by numeric arguments.

$ # + K kill-to-end-of-line
Default binding: ^K
Syntax:
n  kill-to-end-of-line
This command's deletes text, leaving a copy of it in the kill buffer. The text affected depends on the numeric arguments applied to the command:
If it is used without a numeric argument, kill-to-end-of-line truly behaves as its name indicates, deleting the text from the point to the end of the current line, but preserving the newline character, unless the point is located at the end of a line in which case the command just deletes the newline character.
If the numeric argument is 0, the command deletes the text from the start of the current line up to the point.
If the numeric argument n is positive, the command deletes text from the point forward until n newlines have been removed.
If the numeric argument n is negative, the command deletes text from the point backwards until n newlines have been removed and the beginning of a line has been reached.

$ # + K list-buffers
Default binding: ^X^B
Syntax:
list-buffers
or:
n  list-buffers
This command creates a list of all the buffer with, for each buffer, the file it was read from, its size, and the active modes. The list is stored in a buffer named "[Buffers]" and is displayed in either a popup buffer 
or a regular window, depending on the value of the $popflag variable.
Within the list, an at sign "@" in column one shows that a file has already been read into a buffer. A star "*" in column two means that the contents of the buffer have been modified since the last time they were written to disk. A pound sign "#" in column three indicates the file was to large to read into memory and was truncated. A lower than sign "<" in column four indicates that the buffer has been narrowed.
The modes are shown in columns 5 through 14, using a single letter code for each active mode:
Code	Corresponding mode:
W	WRAP
C	CMODE
E	EXACT
V	VIEW
O	OVER
M	MAGIC
Y	CRYPT
A	ASAVE
R	REP
Used without a numeric argument, list-buffers does not list invisible buffers. If a numeric argument is given, this command lists all buffers, including those hidden buffers used by MicroEMACS for internal data and macros storage.

$ # + K list-screens
Default binding: A-B
This command creates a list of all the screens with, for each screen, the names of the buffers visible in windows on that screen. The list is stored in a buffer named "[Screens]" and is displayed in either a popup buffer 
or a regular window, depending on the value of the $popflag variable.
This command is unaffected by numeric arguments.

$ # + K macro-to-key
Default binding: ^X^K
Syntax:
macro-to-key  macro name  keystroke
This command associates a macro with a keystroke, thus creating a binding. A keystroke can be bound only to one command or macro at a time, so when you rebind it, the previous binding is forgotten. On the other hand, a macro can have more than one keystroke bound to it.
This command cannot be used to specify the key binding for a command. That is performed by the bind-to-key command.
The keystroke is specified using the keystroke syntax or the mouse syntax.
This command is unaffected by numeric arguments.

$ # + K macro-to-menu
No default binding
Syntax:
macro-to-menu  macro name  menu name
This command is available only under Microsoft Windows. It creates a menu item associated with the specified macro. The menu name is specified using the menu name syntax.
If the menu name designates a menu item that already exists, the command fails.
If the menu name specifies menus that do not exist yet, they are created as part of the creation of the menu item.
This command cannot be used to bind a command to a menu. That is performed by the bind-to-menu command.
This command is unaffected by numeric arguments.

$ # + K maximize-screen
No default binding.
This command is available only under Microsoft Windows. It causes the current screen to be enlarged so that it occupies all the available space on MicroEMACS's frame window. If the current screen is already maximized at the time this command is invoked, nothing happens.
This command is unaffected by numeric arguments.
To restore the current screen to the size and position it had before invoking this command, use the restore-screen command.

$ # + K meta-prefix
Default binding: ^[ (Escape key)
This is a dummy command meant to be used in combination with the bind-to-key command in order to redefine the meta key.
For example, to define the F1 function key as being the meta key:
unbind-key  ^[
bind-to-key  meta-prefix  FN1

$ # + K minimize-screen
No default binding.
This command is available only under Microsoft Windows. It causes the current screen to be reduced to an icon. Unless there exists only one screen at the time this command is invoked another screen becomes the current one. If the screen being minimized was maximized (see maximize-screen), the screen becoming current is also maximized.
This command is unaffected by numeric arguments.
To restore the current screen to the size and position it had before invoking this command, use the restore-screen command.

$ # + K mouse-move
Default binding: MSm, S-MSm and MS^m (mouse movement)
This command is meant to be associated with a mouse movement. It updates the $xpos and $ypos variables to contain the coordinates of the mouse pointer.
If the $hilight variable is set to a value n between 0 and 14, this command updates the mark number n+1 so that the highlighted region is automatically updated.
This command is unaffected by numeric arguments.
Note:	the mouse actions MSm, S-MSm or MS^m may not be generated for all mouse movements, depending on the value of the $mmove variable.

$ # + K mouse-move-down
Default binding: MSa (Press on left mouse button)
This command is meant to be associated with a mouse action. It depends on the $xpos and $ypos variables to contain the coordinates of the mouse pointer. It makes the screen and window where the mouse was clicked the current ones. If the mouse pointer is within the text part of a window (as opposed to the mode line) the point is placed at that position in the text (or at the end of the line if the mouse pointer lies beyond the end of a line).
This command is unaffected by numeric arguments.
Note:	Under the MS-Windows version of MicroEMACS, the selection of the current screen is performed by the press on the left mouse button, regardless of the button's binding. Mouse commands themselves cannot select the current screen.
See also: mouse-move-up

$ # + K mouse-move-up
Default binding: MSb (Release of left mouse button)
This command is meant to be associated with a mouse action. It depends on the $xpos and $ypos variables to contain the coordinates of the mouse pointer. The actions performed by this command depend of where the previous mouse-move-down command was invoked:
If the mouse pointer was in the mode line part of a window and still is within that mode line, or if it was in the text part of the window and still is, the text in the window is scrolled as if it had been dragged by the mouse. Note that diagonal dragging is possible only if the $diagflag variable is set to TRUE.
If the mouse pointer was on a mode line (except the bottom one), but has moved above or under it, the mode line is moved up or down as if it had been dragged by the mouse, thus resizing the affected windows.
Other cases produce no effect.
The command fails (putting FALSE in the $status variable) if the position of the mouse pointer is the same as that for the last mouse-move-down command. This allows easy detection of lack of mouse movement when the command is used in a macro.
This command is unaffected by numeric arguments.
Note:	Under the MS-Windows version of MicroEMACS, the top left and bottom right corners of a screen have no special meaning. Under other versions, mouse-move-up will move the screen if the mouse-move-down was done in the top left corner and resize the screen if mouse-move-down was done in the bottom right corner.

$ # + K mouse-region-down and mouse-region-up
Default binding:	MSe (Press on right mouse button)
	and:	MSf (Release of right mouse button)
These commands are meant to be associated with the two parts of a mouse click. Their rather complex behavior is dependant on where the last mouse action took place and is best described by the following topics:
Copying a Region
Killing a Region
Pasting Text
These commands are unaffected by numeric arguments.

$ # + K mouse-resize-screen
No default binding
This command is meant to be associated with a mouse action. It depends on the $xpos and $ypos variables to contain the coordinates of the mouse pointer. It modifies the size of the current screen, bringing its lower right corner to where the mouse was clicked.
This command is unaffected by numeric arguments.

$ # + K move-window-down
Default binding: ^X^N
Syntax:
n  move-window-down
This command moves the window's view into it's buffer down by n lines, causing the text visible in the window to scroll up. If the point scrolls out of view, it is repositioned on the first character of the line located at the center of the window.
If no numeric argument is specified, the text is scrolled by one line.

$ # + K move-window-up
Default binding: ^X^P
Syntax:
n  move-window-up
This command moves the window's view into it's buffer up by n lines, causing the text visible in the window to scroll down. If the point scrolls out of view, it is repositioned on the first character of the line located at the center of the window.
If no numeric argument is specified, the text is scrolled by one line.

$ # + K name-buffer
Default binding: M-^N
Syntax:
name-buffer  name
This command renames the current buffer, giving it the specified name. Note that when a buffer is associated with a file, changing the buffer's name has no effect on the file's name.
If a buffer bearing the specified name already exists, another argument is required, and so on until a unique name is supplied.
This command is unaffected by numeric arguments.

$ # + K narrow-to-region
Default binding: ^X<
This command causes the text that does not belong to the current region to become inaccessible until the widen-from-region command is invoked. The mode line displays the symbol "<>" to indicate that the current window is associated with a narrowed buffer.
This command is unaffected by numeric arguments.

$ # + K newline
Default binding: ^M (Return key)
Syntax:
n  newline
This command inserts n newline characters at the point. If the numeric arguments is absent, it is taken as 1.
If n is equal to 1 and the buffer is in CMODE mode, C language indentation is performed:
If the new line is not empty (i.e. the point was not at the end of a line), no other action takes place.
The new line is indented at the same level as the closest preceding non blank line
If the newline was inserted right after an opening brace "{", the new line is further indented by one tab stop (as if the handle-tab command had been used).
If the buffer is in WRAP mode and the point is past the fill column, wrapping is performed on the last word of the current line before the newline character is inserted.
The command fails if n is negative.

$ # + K newline-and-indent
Default binding: ^J
Syntax:
n  newline-and-indent
This command inserts n newline characters at the point. If the numeric arguments n is absent, it is taken as 1.
The new line is indented with enough tab and space characters to match the indentation of the preceding line (the one where the point was when newline-and-indent was invoked).
The command fails if n is negative.

$ # + K next-buffer
Default binding: ^XX
Syntax:
n  next-buffer
This command causes the current window to display the nth next buffer in the circular list of buffers kept by MicroEMACS. If the numeric arguments n is absent, it is taken as 1.
The command fails if n is not positive.

$ # + K next-line
Default binding: ^N
Syntax:
n  next-line
This command moves the point to the nth next line. If the numeric arguments n is absent, it is taken as 1.
If n is negative, the point is moved to the nth previous line. If n is 0, nothing happens.
When line move commands (next-line or previous-line) are used in a row, the point is kept at the same column it was at before the first of the line moves. If that column lies beyond the end of the current line the point is temporarily brought back to the end of that line.
The command fails if the point is already at the end of the buffer (or the beginning if n is negative).

$ # + K next-page
Default bindings: ^V and FNV (Page Down key)
Syntax:
next-page
or:
n  next-page
This command has two different behaviors, depending on the presence or absence of a numeric arguments:
If no numeric argument is specified, the window's view into it's buffer is paged down. The new view overlaps the previous one by the number of lines specified by the $overlap variable. By default, $overlap is equal to 2, so the last two lines of text in the initial view are displayed at the top of the window.
If a positive numeric argument n is specified, the window's view into it's buffer is moved down by n lines, causing the text visible in the window to scroll up.
If a negative numeric argument n is specified, the window's view into it's buffer is moved up by n lines, causing the text visible in the window to scroll down, as if the previous-page command had been invoked, with a numeric argument of -n.
In all cases, even if a numeric argument of 0 is given, the point is moved to the first character at the top of the window.

$ # + K next-paragraph
Default binding: M-N
Syntax:
n  next-paragraph
If used without a numeric arguments, this command moves the point just past the last character of the current paragraph or, if outside a paragraph, to the end of the next paragraph.
If this command is used with a positive numeric argument n, the point is moved to the nth next end of paragraph.
If n is negative, next-paragraph behaves as if the previous-paragraph command had been invoked with an argument of -n.

$ # + K next-window
Default binding: ^XO
Syntax:
n  next-window
If used without a numeric arguments, this command makes the next window immediately below the current one the new current window. MicroEMACS updates the highlight of the mode line to indicate the new current window, and places the blinking cursor at the point within that window.
If this command is used with a positive numeric argument n, the nth window from the top of the screen is made the current one (window numbering starts at 1).
If n is negative, the -nth window from the bottom of the screen is made the current one.
The command fails if n (or -n) is greater than the number of windows in the screen.

$ # + K next-word
Default bindings: M-F and FN^F (Ctrl + Right arrow)
Syntax:
n  next-word
This command moves the point to the first character of the nth next word. If an attempt is made to move past the buffer's end, the command fails but the point is still moved to the end of the buffer.
If no numeric argument is specified, it is equivalent to n = 1.
If n is null, the command has no effect.
If n is negative, it causes the command to behave like previous-word (invoked with the numeric argument -n).

$ # + K nop
No default binding.
This command has no effect and is unaffected by numeric arguments. Its main purpose is to be the command pointed to by the $bufhook, $cmdhook, $exbhook, $readhook and $writehook variables.

$ # + K open-line
Default binding: ^O
Syntax:
n  open-line
This command adds n newline characters after the point. If the numeric arguments is absent, it is taken as 1.
The command fails if n is negative.

$ # + K overwrite-string
No default binding.
Syntax:
overwrite-string  string
This command replaces the characters from the point on with the characters from the specified string. If the overwriting would extend past the end of the line, the remaining characters from the string are simply added at the end of the line (the newline character is not overwritten).
This command is unaffected by numeric arguments.

$ # + K pipe-command
Default binding: ^X@
Syntax:
pipe-command  program
This command uses the shell to execute a program, but rather than displaying what the program prints, it attempts to place it in a buffer named "command" to let you edit it and/or save it. 
The program argument is a string. Note that if it contains spaces (as would be necessary to specify command line options), the string should be quoted.
The VIEW mode is set on the "command" buffer at completion of this command. 
Under Microsoft Windows, this command launches the program within a DOS box and synchronizes with it. The current working directory where the program executes is set to the directory of the file in the current window (or, if that window is not associated to a filename, to the last visited directory).
This command is unaffected by numeric arguments.

$ # + K pop-buffer
No default binding.
Syntax:
pop-buffer  buffer
or:
n  pop-buffer  buffer
This command causes the specified buffer to be displayed as a popup in the current screen.
If a numeric arguments is present, the buffer is marked as being invisible (hidden from the next-buffer command).

$ # + K previous-line
Default binding: ^P
Syntax:
n  previous-line
This command moves the point to the nth previous line. If the numeric arguments n is absent, it is taken as 1.
If n is negative, the point is moved to the nth next line. If n is 0, nothing happens.
When line move commands (next-line or previous-line) are used in a row, the point is kept at the same column it was at before the first of the line moves. If that column lies beyond the end of the current line the point is temporarily brought back to the end of that line.
The command fails if the point is already at the beginning of the buffer (or the end if n is negative) 

$ # + K previous-page
Default bindings: M-V and FNZ (Page Up key)
Syntax:
previous-page
or:
n  previous-page
This command has two different behaviors, depending on the presence or absence of a numeric arguments:
If no numeric argument is specified, the window's view into it's buffer is paged up. The new view overlaps the previous one by the number of lines specified by the $overlap variable. By default, $overlap is equal to 2, so the top two lines of text in the initial view are displayed at the bottom of the window.
If a positive numeric argument n is specified, the window's view into it's buffer is moved up by n lines, causing the text visible in the window to scroll down.
If a negative numeric argument n is specified, the window's view into it's buffer is moved down by n lines, causing the text visible in the window to scroll up, as if the next-page command had been invoked, with a numeric argument of -n.
In all cases, even if a numeric argument of 0 is given, the point is moved to the first character at the top of the window.

$ # + K previous-paragraph
Default binding: M-P
Syntax:
n  previous-paragraph
If used without a numeric arguments, this command moves the point to the first character of the current paragraph or, if outside a paragraph, to the beginning of the previous paragraph.
If this command is used with a positive numeric argument n, the point is moved back to the nth beginning of paragraph.
If n is negative, next-paragraph behaves as if the next-paragraph command had been invoked with an argument of -n.

$ # + K previous-window
Default binding: ^XP
Syntax:
n  previous-window
If used without a numeric arguments, this command makes the window immediately above the current one the new current window. MicroEMACS updates the highlight of the mode line to indicate the new current window, and places the blinking cursor at the point within that window.
If this command is used with a positive numeric argument n, the nth window from the bottom of the screen is made the current one (window numbering starts at 1).
If n is negative, the -nth window from the top of the screen is made the current one.
The command fails if n (or -n) is greater than the number of windows in the screen.

$ # + K previous-word
Default bindings: M-B and FN^B (Ctrl + Left arrow)
Syntax:
n  previous-word
This command moves the point to the beginning character of the nth preceding word. If the point was located within a word before invoking the command, that word counts as the first one (thus, if n is 1, the point moves to the first character of the current word). If an attempt is made to move beyond the buffer's beginning, the command fails but the point is still moved to the beginning of the buffer.
If no numeric argument is specified, it is equivalent to n = 1.
If n is null, the command has no effect.
If n is negative, it causes the command to behave like next-word (invoked with the numeric argument -n).

$ # + K query-replace-string
Default binding: M-^R
Syntax:
n  query-replace-string  pattern  replacement
This command attempts to replace, from the point onward, each piece of text that matches the pattern string by the replacement string. The pattern string is interpreted literally, unless MAGIC mode is enabled in the current buffer.
Each time a match is found, you are queried and can answer by one of the following keystrokes:
Y	replaces the current matching text
N	skips the current match
!	replaces the current matching text and all following matches without anymore queries.
U	jumps back to the last performed replacement and undoes it
^G	aborts the command, leaving the point at its current position
. (dot)	aborts and moves the point back to where the command was originally issued
?	lists the above options
If no numeric arguments is specified, all the matching pieces of text are processed until the end of the buffer is reached. If a positive numeric argument is used, only the first n matches are taken into account. If n is negative, the command fails.
When this command is invoked interactively, the keystroke used to signal the end of the pattern or replacement string is specified by the $sterm variable (it is usually the Meta key). Also, both strings may have default values (which are stored in the $search and $replace variables). If you want to replace a string with nothing, and there is a non-empty default for the replacement string, striking ^K will override that default and enter an empty string instead.
Note:	to perform global string replacements without interactive involvement, use the replace-string command.

$ # + K quick-exit
Default binding: M-Z
This command causes MicroEMACS to terminate, but only after having written all the changed buffers into their respective files.
This command is unaffected by numeric arguments.
Note:	to terminate MicroEMACS without saving the changed buffers, use the exit-emacs command.

$ # + K quote-character
Default binding: ^Q
Syntax:
n  quote
This command inserts literally the next character typed by the user at the point. Even the newline character can be inserted this way, but this causes it to loose its line-splitting meaning.
If a positive numeric arguments is specified, the quoted character is inserted n times. If n is negative, the command fails. If n is null, nothing is inserted, but the typing of a character is still required.

$ # + K read-file
Default binding: ^X^R
Syntax:
read-file  file name
This command reads the named file into the current buffer, replacing the buffer's contents with the text from the file. The file name associated to the buffer is not changed, so you must make sure that replacing the text in the original file with that from the read one is what you are intending when you use this command.
This command is unaffected by numeric arguments.

$ # + K redraw-display
Default bindings: M-^L and M-!
Syntax:
n  redraw-display
If a non zero numeric argument is specified, this command scrolls the text in the current window so that the current line is displayed as the nth line from the top of the window if n is positive, or as the -nth line from the bottom of the window if n is negative.
If no numeric argument is specified, or if n is zero, the current line is displayed at the center of the window.

$ # + K remove-mark
Default binding: ^X   (Ctrl+X Spacebar)
Syntax:
n  remove-mark
This command eliminates the mark number n.
If no numeric argument is specified, it is equivalent to n = 0.
If markn does not exist, nothing happens.

$ # + K rename-screen
No default binding.
Syntax:
rename-screen  new name
This command changes the name of the current screen to the specified new name. If the new name is already in use, the command fails.
This command is unaffected by numeric arguments.

$ # + K replace-string
Default binding: M-R
Syntax:
n  replace-string  pattern  replacement
This command replaces, from the point onward, each piece of text that matches the pattern string by the replacement string. The pattern string is interpreted literally, unless MAGIC mode is enabled in the current buffer.
If no numeric arguments is specified, all the matching pieces of text are processed until the end of the buffer is reached. If a positive numeric argument is used, only the first n matches are processed. If n is negative, the command fails.
When this command is used interactively, the keystroke used to signal the end of the pattern or replacement string is specified by the $sterm variable (it is usually the Meta key). Also, both strings may have default values (which are stored in the $search and $replace variables). If you want to replace a string with nothing, and there is a non-empty default for the replacement string, striking ^K will override that default and enter an empty string instead.
Note:	to have more interactive control over the replacement process, use the query-replace-string command.

$ # + K resize-window
Default binding: ^XW
Syntax:
n  resize-window
If n is a positive number, this command changes the height of the current window so that it displays n lines of text. The window located immediately below the current window (or, if the current window is at the bottom of the screen, the window located immediately above it) shrinks accordingly. If that would cause the shrinking window to become too small to display any text, the command fails.
If the current screen contains only one window, or if n is a negative number, the command fails.
If no numeric arguments is specified, nothing happens.
To change the size of the current window by specifying a relative value, use the grow-window or the shrink-window command.

$ # + K restore-screen
No default binding.
This command is available only under Microsoft Windows. It causes the current screen to be restored to the size and position it had before it was maximized (see maximize-screen) or iconized.(see minimize-screen). If the current screen is neither maximized nor iconized this command has no effect.
This command is unaffected by numeric arguments.

$ # + K restore-window
No default binding.
This command is only useful when there are multiple windows displayed on the current screen. It causes the window that was current the last time the save-window command was invoked to become the current window again.
If the window that was current the last time save-window was invoked no longer exists, or if the screen is not the same, this command fails.
This command is unaffected by numeric arguments.

$ # + K reverse-incremental-search
Default binding: ^XR
This command is always interactive. It prompts the user for  a search string but, unlike what happens with the search-reverse command, the search happens and the display is updated as each new search character is typed.
While searching towards the beginning of the buffer, each successive character leaves the point at the beginning of the matched string. Typing a ^R causes the next occurrence of the string to be searched for (where the next occurrence does not overlap the current occurrence). A ^S changes the direction to a forward search (as performed by an incremental-search command), pressing the meta key terminates the search and ^G aborts the operation. Pressing the Backspace key (or using ^H) returns to the previous match of the string or, if the starting point is reached, it deletes the last character from the search string.
The characters composing the search string are always interpreted literally. MAGIC mode has no effect on incremental searches.
If the search fails, a beep sounds and the search stalls until the search string is edited back into something that exists (or until the operation is aborted).
This command is unaffected by numeric arguments.

$ # + K save-file
Default binding: ^X^S
This command writes the contents of the current buffer to disk, if the buffer's contents have been changed since the last read or write operation or the last invocation of the unmark-buffer command.
If the current buffer does not have a file name associated to it (for instance if the buffer has never been subjected to a find-file, read-file, write-file or change-file-name command), the save-file command fails.
If the current buffer is narrowed, a confirmation is requested before writing the text to the file.
This command is unaffected by numeric arguments.

$ # + K save-window
No default binding.
This command saves a reference to the current window, so that the next time the restore-window command is invoked, that window becomes the current window again.
This command is unaffected by numeric arguments.

$ # + K scroll-next-down
Default binding: M-^V
Syntax:
scroll-next-down
or:
n  scroll-next-down
This command causes the equivalent of a next-page command to be performed on the window located just below the current one (or the top window if the current one is at the bottom of the screen).
If there is only one window displayed in the current screen, this command is equivalent to the next-page command.

$ # + K scroll-next-up
Default binding: 
Syntax:
scroll-next-up
or:
n  scroll-next-up
This command causes the equivalent of a previous-page command to be performed on the window located just below the current one (or the top window if the current one is at the bottom of the screen).
If there is only one window displayed in the current screen, this command is equivalent to the previous-page command.

$ # + K search-forward
Default binding: ^S
Syntax:
n  search-forward  search string
If n is a positive number, this command searches forward for the nth occurrence of the search string. The interpretation of the search string is dependant on whether MAGIC mode is set or not in the current buffer.
If a matching text is found in the buffer, the point is moved to the first character following that text. Otherwise, the command fails.
If n is a negative number, this command acts as if the search-reverse command had been invoked with the corresponding positive number (-n).
If no numeric arguments is specified, or if the numeric argument is null, it is equivalent to n = 1.
Note:	the search string becomes the value of the $search variable

$ # + K search-reverse
Default binding: ^R
Syntax:
n  search-reverse  search string
If n is a positive number, this command searches backwards for the nth occurrence of the search string. The interpretation of the search string is dependant on whether MAGIC mode is set or not in the current buffer.
If a matching text is found in the buffer, the point is moved to the first character of that text. Otherwise, the command fails.
If n is a negative number, this command acts as if the search-forward command had been invoked with the corresponding positive number (-n).
If no numeric arguments is specified, or if the numeric argument is null, it is equivalent to n = 1.
Note:	the search string becomes the value of the $search variable

$ # + K select-buffer
Default binding: ^XB
Syntax:
select-buffer  buffer
or:
n  select-buffer  buffer
This command displays the named buffer in the current window. If that buffer does not yet exist, it is created.
If a numeric arguments is present, the buffer is marked as being invisible (hidden from the next-buffer command).

$ # + K set
Default binding: ^X^A
Syntax:
set  variable  value
or:
n  set  variable
This command sets the value of the specified variable to n if a numeric arguments is present and to value otherwise.
The variable must be a user variable or an environmental variable . In the latter case, if the environmental variable does not exist, the command fails.
If value is the string "ERROR", the command fails (this allows detection of error cases when value is actually a function.

$ # + K set-encryption-key
Default binding: M-E
Syntax:
set-encryption-key  key
This command sets the current buffer's encryption key (used when the buffer is in CRYPT mode). The specified key can be up to 128 characters long. A length of at least 5 characters is recommended.
This command is unaffected by numeric arguments.

$ # + K set-fill-column
Default binding: ^XF
Syntax:
n  set-fill-column
This command sets the fill column, (used by the fill-paragraph command) to n.
Note that this also sets the $fillcol variable to n.

$ # + K set-mark
Default bindings: M-   (Esc Spacebar) and M-.
Syntax:
n  set-mark
This command sets the mark number n at the point.
If no numeric argument is specified, it is equivalent to n = 0.

$ # + K shell-command
Default binding: ^X!
Syntax:
shell-command  program
or:
n  shell-command  program
This command uses the shell to execute the named program.
The program argument is a string. Note that if it contains spaces (as would be necessary to specify command line options), the string should be quoted.
Under MS-Windows:
	This command launches the program within a DOS box. The current working directory where the program executes is set to the directory of the file in the current window (or, if that window is not associated to a filename, to the last visited directory).
	If no numeric argument is specified, MicroEMACS and the launched program run independently. If a numeric argument is specified, MicroEMACS synchronizes with the program.
Note:	Under MS-Windows 3.x, you cannot use this command to launch a Windows application. Use execute-program instead.

$ # + K show-files
No default binding
Syntax:
show-files  starname
This command creates a list of all the files matching the specified starname. The starname can contain a directory specification.
For instance, under MS-Windows, the command:
show-files  "C:\WINDOWS\*.INI"
	will create a list of all the files ending by ".INI" in the directory "C:\WINDOWS".
MicroEMACS appends a star "*" to the end of the specified starname, and appends a dot-star ".*" if the starname does not contain a dot character. Thus:
show-files  "C:\WINDOWS\A"
	is equivalent to specifying:
show-files  "C:\WINDOWS\A*.*"
This command is unaffected by numeric arguments.
Note:	The list is actually built in a special buffer named "File List". It is displayed as a popup buffer or in a normal window, depending on the value of the $popflag variable.

$ # + K shrink-window
Default binding: ^X^Z
Syntax:
n  shrink-window
If n is a positive number, this command decreases the height of the current window by n lines. The window located immediately below the current window (or, if the current window is at the bottom of the screen, the window located immediately above it) grows by n lines. If the decrease of height would cause the current window to become too small to display any text, the command fails.
If the current screen contains only one window, the command fails.
If n is a negative number, this command acts as if the grow-window command had been invoked with the corresponding positive number (-n).
If no numeric arguments is specified, the height of the window is decreased by one line.
To change the size of the current window by specifying an absolute value, use the resize-window command.

$ # + K split-current-window
Default binding: ^X2
Syntax:
n  split-current-window
This command splits the current window into two windows. Both windows view the current buffer at the current point.
If a numeric arguments is present and not equal to 1, the lower of the two windows becomes current. If n = 1, the upper window becomes current.
If no numeric argument is present, the upper window is selected as current if the point was in the upper half of the split window, otherwise, the lower window is selected.
The command fails if it would result in a window too small to display any line of text.
To rid the screen of extraneous windows, use the delete-window or the delete-other-windows commands.

$ # + K store-macro
No default binding
Syntax:
n  store-macro
   contents
     of
   macro
!endm
This command stores the commands and directives that follow it, up to the next !ENDM directive, into a "numbered macro". That macro can be invoked later by the execute-macro-n command.
A numeric arguments must be specified and it must be a number from 1 to 40. Otherwise, the command fails.

$ # + K store-procedure
No default binding
Syntax:
store-procedure  name
   contents
     of
   macro
!endm
or:
n  store-procedure
   contents
     of
   macro
!endm
If no numeric arguments is specified, this command stores the commands and directives that follow it, up to the next !ENDM directive, into a "named macro" or "procedure". That procedure can be invoked later by the run or execute-procedure command, with the argument name.
If a numeric argument is specified, this command is equivalent to store-macro.

$ # + K tile-screens
No default binding
Syntax:
n  tile-screens
This command is available only under Microsoft Windows. It causes all non-iconic screens to be rearranged in a tiled scheme. If the current screen is maximized (see maximize-screen) at the time this command is invoked, it is restored to its non-maximized size first.
If a numeric arguments is present and equals 1, the screens are tiled vertically (i.e. on top of each other). Otherwise, the screens are tiled horizontally (i.e. side by side). However, if there are too many screens to tile (more than 3), the argument is ignored and a mix of vertical and horizontal tiling is used.

$ # + K transpose-characters
Default binding: ^T
This command swaps the character that is before the point and the character that is at the point, unless the point is at the end of a line, in which case the two last characters of the line are swapped around.
This command fails if the point is located at the beginning of a line.
This command is unaffected by numeric arguments.

$ # + K trim-region
Default binding: ^X^T
Syntax:
trim-region
or:
n  trim-region
This command causes all the trailing space and tab characters between the column position of the point and the end of the processed lines to be deleted.
If a numeric arguments is present, n lines, starting from the current one, are processed.
If no numeric argument is present, the lines processed are the ones that belong to the current region.

$ # + K unbind-key
Default binding: M-^K
Syntax:
unbind-key  keystroke
This command removes the association between a keystroke and a macro or a command, thus destroying a binding.
The keystroke is specified using the keystroke syntax or the mouse syntax.
This command is unaffected by numeric arguments.

$ # + K unbind-menu
No default binding
Syntax:
unbind-menu  menu name
This command is available only under Microsoft Windows. It destroys a menu item. The menu name is specified using the menu name syntax.
If the menu name designates a menu item that does not exist, the command fails.
If the menu name specifies a menu (that itself contains menu items), all the menu hierarchy under it is destroyed.
This command is unaffected by numeric arguments.

$ # + K undent-region
Default binding: M-(
Syntax:
n  undent-region
This command deletes the first n tab characters in front of each line within the current region.
If the numeric argument n is not specified, the first tab of each line is deleted.
Note:	this command is often used to undo the effect of an indent-region command.

$ # + K universal-argument
Default binding: ^U
This is a dummy command meant to be used in combination with the bind-to-key command in order to redefine the universal argument key.
To define the F1 function key as being the universal argument key:
bind-to-key  universal-argument  FN1
Pressing the universal argument key causes a numeric argument of 4 to be generated. If digits (and the minus sign) are entered following the universal argument, they are interpreted to compose a numeric argument, much as if the meta key had been pressed. Also, each further action on the universal argument key multiplies the existing numeric argument by 4.

$ # + K unmark-buffer
Default binding: M-~
This command clears the change flag of the current buffer. This causes MicroEMACS to forget that the buffer's contents have changed since they were last made equivalent to the contents of a disk file (by append-file, find-file, read-file, save-file, view-file or write-file).
This command is unaffected by numeric arguments.
Note:	the change flag of the current buffer can also be accessed via the $cbflags variable.

$ # + K update-screen
No default binding
This command immediately updates all elements of the MicroEMACS display during the execution of a macro. It has no visible effect when used interactively.
This command is unaffected by numeric arguments.

$ # + K view-file
Default binding: 
Syntax:
find-file  file name
If the named file is already loaded somewhere in the editor, this command brings its buffer up in the current window. Otherwise, the file is searched for on disk. If it is found, a new buffer is created and the contents of the file are read into it. If the file does not exist, a new empty buffer is created. In all cases, the buffer is brought up in the current window, in VIEW mode.
This command is unaffected by numeric arguments.

$ # + K widen-from-region
Default binding: ^X>
This command causes all the invisible text in the narrowed buffer becomes accessible and visible again.
This command is unaffected by numeric arguments.

$ # + K wrap-word
No default binding
This command replaces by a newline the first group of space or tab characters preceding the point on the current line. The point is left where it was when the command was invoked.
If no space or tab character is found before the point, a new line is created after the current one and the point is moved to it.
This command is unaffected by numeric arguments.
Note:	the $wraphook variable (which points to the command or macro use to perform line wrapping in WRAP mode) is set to wrap-word by default.

$ # + K write-file
Default binding: ^X^W
Syntax:
write-file  file name
This command writes the contents of the current buffer to disk, using the specified file name. This file name becomes the one associated with the buffer (indicated by the $cfname variable).
This command is unaffected by numeric arguments.

$ # + K write-message or print
No default binding
Syntax:
print  message
or:
write-message  message
This command causes the specified message to appear on the message line.
This command is unaffected by numeric arguments.

$ # + K yank
Default binding: ^Y
Syntax:
n  yank
This command inserts the contents of the kill buffer at the point. If a numeric arguments is present, the command is repeated n times.
If n is negative, the command fails.
The placement of the point after the execution of this command is determined by the value of the $yankflag variable.

$ # + K yank-pop
Default binding: M-Y
Syntax:
n  yank-pop
This command cycles the kill ring n times (as done by the cycle-ring command) and inserts the contents of the kill buffer at the point. If the previous command was yank or yank-pop, the text inserted by that command is deleted before the new text is inserted.
If no numeric argument is specified, it is equivalent to n = 1.
The placement of the point after the execution of this command is determined by the value of the $yankflag variable.